﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using SistemaCarros.Entidades;

namespace SistemaCarros.Paginas
{
    public partial class ListaFabricantes : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!Page.IsPostBack)
                    carregarFabricantes();
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }
        protected void btnNovo_Click(object sender, EventArgs e)
        {
            Response.Redirect("InserirFabricante.aspx", false);
        }
        protected void btnEditar_Click(object sender, EventArgs e)
        {
            try
            {
                int id = Convert.ToInt32((sender as Button).Attributes["ItemSelecionado"]);
                ViewState.Add("id", id);
                Response.Redirect("EditarFabricante.aspx?id=" + id, false);
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }
        }
        protected void btnExcluir_Click(object sender, EventArgs e)
        {
            try
            {
                int id = Convert.ToInt32((sender as Button).Attributes["ItemSelecionado"]);
                excluirFabricante(id);
            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }

        }
        protected void grdLista_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            try
            {
                grdLista.PageIndex = e.NewPageIndex;
                grdLista.DataSource = ViewState["fabricantes"];
                grdLista.DataBind();

            }
            catch (Exception ex)
            {
                Session.Add("erro", ex);
                Response.Redirect("PaginaErro.aspx", false);
            }

        }

        private void carregarFabricantes()
        {
            ViewState.Add("fabricantes", new Fabricante().Carregar());
            grdLista.DataSource = ViewState["fabricantes"];
            grdLista.DataBind();
        }
        private void excluirFabricante(int id)
        {
            Fabricante objFabricante = new Fabricante();
            objFabricante.Id = id;

            objFabricante.Excluir();

            carregarFabricantes();
        }

    }
}